package br.pb.sistcomp.entity;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

/**
 * Class that represents an entity in the system
 *
 * @author jefferson Bello, Jefferson.bello@dce.ufpb.br
 * @version 1.0
 *
 * Copyright (C) 2011 SistComp.
 */
@Entity
@Table(name = "Vendas")
public class Venda implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    @OneToOne
    private Lance lance;

    // @Column(nullable = false)
    // Apagar isso depois
    private float valor =100;
    //@Column(nullable = false)
    private String formaDePagamento;

    /**
     * Construtor default
     */
    public Venda() {
    }

    /**
     *
     * Construtor da classe venda.
     * @param lance Objeto da classe lance que representa um conjunto das informações necessárias para realizar uma compra
     * @param valor do tipo float que representa o valor total da compra
     * @param getTipoDePagamento do tipo String, que representa a forma de pagamento da compra ( Boleto, a vista ou CartÃƒÂ£o de credito)
     */
    public Venda(Lance lance, float valor, String formaDePagamento) {
        this.lance = lance;
        this.valor = valor;
        this.formaDePagamento = formaDePagamento;
    }

    // Métodos de acesso
    public Integer getId() {
        return id;
    }

    public Lance getLance() {
        return lance;
    }

    public float getValor() {
        return valor;
    }

    public void setValor(float valor) {
        this.valor = valor;
    }

    public String getFormaDePagamento() {
        return formaDePagamento;
    }

    public void setFormaDePagamento(String formaDePagamento) {
        this.formaDePagamento = formaDePagamento;
    }

    public void setLance(Lance lance) {
        this.lance = lance;
    }
}
